#pragma once

#include "chassic.hpp"
// #include "gps.hpp"
#include "hik_camera.hpp"
#include "lidar.hpp"
#include "protocol.h"
#include "web_service.hpp"

class Robot {
 private:
  // WebSocketService service_;
  Lidar lidar_;
  // GPS gps_;
  // HikCamera cam_;
  // Chassic mcu_;
  Android andr_;

 public:
  Robot();
  Robot(const std::string &dev_path, const std::string &url);
  ~Robot();

  bool Init(const std::string &dev_path, const std::string &url);
  // Protocol_UpData_t GetMCU();
  void Pack(std::vector<float> f);
};

// std::string Format(Protocol_UpData_t data, DownGPSData gps);
